package leetcode.code0301;

import java.util.List;

import leetcode.IDebug;
import leetcode.helper.HelpDebug;

public abstract class Solution301 implements IDebug {

	public abstract List<String> removeInvalidParentheses(String s);

	@Override
	public void debug1() {
		String s = "()())()";
		String str = "[\"(())()\",\"()()()\"]";
		this.debug(s, str);
	}

	private void debug(String s, String str) {
		List<String> e = HelpDebug.str2liststr(str);
		List<String> r = this.removeInvalidParentheses(s);
		HelpDebug.compare(e, r);
	}

	@Override
	public void debug2() {
		String s = "(a)())()";
		String str = "[\"(a())()\",\"(a)()()\"]";
		this.debug(s, str);
	}

	@Override
	public void debug3() {
		String s = ")(";
		String str = "[\"\"]";
		this.debug(s, str);
	}

	@Override
	public void debug4() {
		String s = "(((k()((";
		String str = "[\"k()\",\"(k)\"]";
		this.debug(s, str);
	}

}
